home *** CD-ROM | disk | FTP | other *** search
- /*$Id: COMTwen.h 1.3 1997/04/04 03:12:53 damien Exp $*/
-
- //
- // COM Example of a Tweener
- //
-
- #ifndef __COMTWEN__
- #define __COMTWEN__
-
- #ifndef __I3DEXTWN__
- #include "I3DExTwn.h"
- #endif
-
- // define the Tweener CLSID
-
- // {97D56B80-FE78-11ce-A4F7-0000E202D5A5}
- DEFINE_GUID(CLSID_Tweener,0x97d56b80,0xfe78,0x11ce,0xa4,0xf7,0x0,0x0,0xe2,0x2,0xd5,0xa5);
-
-
-
- typedef struct TweenerData {
- short fNbOsc;
- NUM3D fExpCoef;
- } TweenerData;
-
-
- // Tweener Object :
- #undef INTERFACE
- #define INTERFACE Tweener
- class Tweener : public I3DExTweener {
- public :
- Tweener();
- ~Tweener();
-
- // IUnknown Interface :
- STDMETHODIMP QueryInterface(THIS_ REFIID riid, LPVOID* ppvObj);
- STDMETHODIMP_(ULONG) AddRef(THIS);
- STDMETHODIMP_(ULONG) Release(THIS);
-
- // I3DExtension method :
- STDMETHODIMP_(I3DExtension*) Clone(THIS);
- STDMETHODIMP ShellUtilitiesInit(THIS_ IShUtilities* shellUtilities);
-
- // I3DExDataExchanger methods :
- STDMETHODIMP_(ExtensionDataMap*) GetExtensionDataMap(THIS);
- STDMETHODIMP_(void*) GetExtensionDataBuffer(THIS);
- STDMETHODIMP ExtensionDataChanged(THIS);
- STDMETHODIMP HandleEvent(THIS_ ULONG sourceID);
- STDMETHODIMP_(short) GetResID(THIS);
-
- // I3DExTweener methods
- STDMETHODIMP DoTweening (THIS_ NUM3D &res,long time,long time1,long time2);
- STDMETHODIMP DoTween (THIS_ IShKeyFrame *res,long time,XTweenerChainLink *alink);
- STDMETHODIMP Draw (THIS_ IShGraphicDevice *aGD,const LRect *area,const LRect *where);
- STDMETHODIMP DoValue (THIS_ NUM3D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree);
- STDMETHODIMP DoVector2 (THIS_ VECTOR2D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree);
- STDMETHODIMP DoVector3 (THIS_ VECTOR3D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree);
- STDMETHODIMP DoColor (THIS_ COLOR3D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree);
- STDMETHODIMP DoRotation (THIS_ MATRIX3D &res,long time,XTweenerChainLink *alink,I3DShTreeElement *tree);
- private :
- ULONG fCRef; // reference Counter
- TweenerData fData; // Tweener Data
- double fCosCoef;
- double fExpCoef;
- };
-
-
- #endif
-